Ziel dieses 24 Stunden Mikro-Forschungsprojekt, im Rahmen des HACK AND HARVEST 2021, war die Berechnung der elementaren CO2-Bilanz für Konstanz, die Differenz von CO2-Erzeugung von Konstanzer:innen durch Atmung auf der einen und der CO2-Aufnahme der konstanzer Vegetation auf der anderen Seite. Beschränkt habe ich mich hier, aufgrund der Datenlage, auf erwachsene Konstanzer einerseits und Bäume der Stadt Konstanz andererseits.

Sys.setlocale("LC_ALL","de_DE")
## [1] "de_DE/de_DE/de_DE/C/de_DE/en_US.UTF-8"
rm(list=ls())
library(forcats)
library(ggplot2)
library(ggmap)
library(dplyr)
library(kableExtra)
library(osmdata)
library(tidyr)

Explorative Datenanalyse

Bäume der Sadt Konstanz

raw <- read.csv('data/KN_Baumkataster_2020.csv', strip.white=TRUE) %>%
    rename(x = X.X) %>%
    rename(y = Y) %>%
    rename(hoehe = hoeheM) %>%
    rename(kronendurchmesser = kronendurchmesserM) %>%
    rename(stammumfang = stammumfangCM) %>%
    rename(name_de = Name_dt) %>%
    rename(name_la = Name_lat) %>%
    rename(standort = location)
trim <- function (x) gsub("^\\s+|\\s+$", "", x)
kataster <- raw %>%
    mutate(name_de = replace(name_de, name_de == "Amberbaum", "Amberbäume, Amberbaum")) %>%
    mutate(name_de = replace(name_de, name_de == "Apfel 'Boskoop'", "Äpfel, Apfel, 'Boskoop")) %>%
    mutate(name_de = replace(name_de, name_de == "Apfeldorn", "Weißdorne, Apfeldorn")) %>%
    mutate(name_de = replace(name_de, name_de == "Atlas-Zeder", "Zedern, Atlas-Zeder")) %>%    
    mutate(name_de = replace(name_de, name_de == "Bergahorn 'Rotterdam'", "Ahorne, Bergahorn 'Rotterdam'")) %>%
    mutate(name_de = replace(name_de, name_de == "Berliner Lorbeer-Pappel", "Pappeln, Berliner Lorbeerpappel")) %>%
    mutate(name_de = replace(name_de, name_de == "Blasenesche", "Koelreuteria, Blasenesche")) %>%
    mutate(name_de = replace(name_de, name_de == "blaue Kegel-Zypresse", "Zypressen, Blaue Kegelzypresse")) %>%
    mutate(name_de = replace(name_de, name_de == "Blaue Scheinzypresse", "Scheinzypressen, Blaue Scheinzypresse")) %>%    
    mutate(name_de = replace(name_de, name_de == "Blaue Stechfichte", "Fichten, Stech-Fichte ''Glauca'")) %>%    
    mutate(name_de = replace(name_de, name_de == "Blut-Buche", "Buchen, Blutbuche")) %>%
    mutate(name_de = replace(name_de, name_de == "Blutpflaume", "Prunus, Blutpflaume")) %>%
    mutate(name_de = replace(name_de, name_de == "Brabanter Silber-Linde", "Linden, Silberlinde 'Brabant'")) %>%
    mutate(name_de = replace(name_de, name_de == "Buchsbaum", "Buchsbäume, Buchsbaum")) %>%    
    mutate(name_de = replace(name_de, name_de == "Chinesische Birne", "Birnen, Chinesische Birne")) %>%
    mutate(name_de = replace(name_de, name_de == "Dornenlose Gleditschie", "Gleditschien, Dornenlose Gleditschie")) %>%
    mutate(name_de = replace(name_de, name_de == "Douglasie", "Douglasien, Douglasie")) %>%
    mutate(name_de = replace(name_de, name_de == "Einblättrige Esche", "Eschen, Einblättrige Esche")) %>%
    mutate(name_de = replace(name_de, name_de == "Elsbeere", "Mehlbeeren, Elsbeere")) %>%
    mutate(name_de = replace(name_de, name_de == "Esche 'Altena'", "Eschen, Esche 'Altena'")) %>%
    mutate(name_de = replace(name_de, name_de == "Esche 'Geessink'", "Eschen, Esche 'Geessink'")) %>%
    mutate(name_de = replace(name_de, name_de == "Faulbaum", "Kreuzdorn, Faulbaum")) %>%
    mutate(name_de = replace(name_de, name_de == "Felsenbirne 'Robin Hill'", "Felsenbirnen, Felsenbirne 'Robin Hill'")) %>%    
    mutate(name_de = replace(name_de, name_de == "Flatter-Ulme", "Ulmen, Flatterulme")) %>%
    mutate(name_de = replace(name_de, name_de == "Frühe Zier-Kirsche", "Prunus, Frühe Zierkirsche")) %>%
    mutate(name_de = replace(name_de, name_de == "Gefülltblühende Roßkastanie", "Roßkastanien, Gefülltblühende Roßkastanie")) %>%
    mutate(name_de = replace(name_de, name_de == "Gefüllte Vogel-Kirsche", "Prunus, Gefüllte Vogelkirsche")) %>%
    mutate(name_de = replace(name_de, name_de == "Ginkgo", "Ginkgo, Ginkgo")) %>%
    mutate(name_de = replace(name_de, name_de == "Gold-Birke", "Birken, Gold-Birke")) %>%
    mutate(name_de = replace(name_de, name_de == "Großer Lebensbaum", "Lebensbäume, Großer Lebensbaum")) %>%
    mutate(name_de = replace(name_de, name_de == "Großlaubige Mehlbeere", "Mehlbeeren, Großlaubige Mehlbeere")) %>%
    mutate(name_de = replace(name_de, name_de == "Hainbuche 'Frans Fontaine'", "Hainbuchen, Hainbuche 'Frans Fontaine'")) %>%
    mutate(name_de = replace(name_de, name_de == "Hänge-Birke", "Birken, Hänge-Birke")) %>%
    mutate(name_de = replace(name_de, name_de == "Herbstblühende Schnee-Kirsche", "Prunus, Winterkirsche")) %>%
    mutate(name_de = replace(name_de, name_de == "Himalaja-Birke", "Birken, Himalaja-Birke")) %>%    
    mutate(name_de = replace(name_de, name_de == "Holzbirne Beech Hill", "Birnen, Holzbirne 'Beech Hill'")) %>%    
    mutate(name_de = replace(name_de, name_de == "Hopfenbuche", "Hopfenbuchen, Hopfenbuche")) %>%    
    mutate(name_de = replace(name_de, name_de == "Judasblattbaum", "Judasblattbäume, Judasbaum")) %>%    
    mutate(name_de = replace(name_de, name_de == "Kaiser-Linde", "Linden, Kaiser-Linde")) %>%
    mutate(name_de = replace(name_de, name_de == "Kegel-Feld-Ahorn", "Ahorne, Kegel-Feldahorn")) %>%
    mutate(name_de = replace(name_de, name_de == "Kegel-Linde 'Glenleven'", "Linden, Kegel-Linde 'Glenleven'")) %>%
    mutate(name_de = replace(name_de, name_de == "Kegel-Silber-Weide", "Weiden, Silber-Weide 'Liempde'")) %>%
    mutate(name_de = replace(name_de, name_de == "Konstanzer Mostbirne", "Birnen, Konstanzer Mostbirne")) %>%
    mutate(name_de = replace(name_de, name_de == "Korkenzieher-Weide", "Weiden, Korkenzieher-Weide")) %>%
    mutate(name_de = replace(name_de, name_de == "Kuchenbaum", "Japanischer Kuchenbäume, Japanischer Kuchenbaum")) %>%
    mutate(name_de = replace(name_de, name_de == "Kugel-Esche", "Eschen, Kugel-Esche")) %>%
    mutate(name_de = replace(name_de, name_de == "Kugelrobinie", "Robinien, Kugel-Robinie")) %>%
    mutate(name_de = replace(name_de, name_de == "Kultur-Apfel", "Äpfel, Kultur-Apfel")) %>%
    mutate(name_de = replace(name_de, name_de == "Lawson´s Scheinzypresse", "Scheinzypressen, Scheinzypresse 'Lawson'")) %>%
    mutate(name_de = replace(name_de, name_de == "Linde \"Greespire\"", "Linden, Winterlinde 'Greenspire'")) %>%
    mutate(name_de = replace(name_de, name_de == "Mammutbaum", "Sequoiadendron, Riesenmammutbaum")) %>%
    mutate(name_de = replace(name_de, name_de == "Mehlbeere", "Mehlbeeren, Mehlbeere")) %>%
    mutate(name_de = replace(name_de, name_de == "Mirabelle", "Prunus, Mirabelle")) %>%
    mutate(name_de = replace(name_de, name_de == "Nelken-Kirsche", "Prunus, Japanische Nelkenkirsche")) %>%
    mutate(name_de = replace(name_de, name_de == "Pflaumenblättriger Weißdorn", "Weißdorne, Pflaumenblättriger Weißdorn")) %>%    
    mutate(name_de = replace(name_de, name_de == "Platane", "Platanen, Platane")) %>%
    mutate(name_de = replace(name_de, name_de == "Purpur-Erle", "Erlen, Purpur-Erle")) %>%
    mutate(name_de = replace(name_de, name_de == "Purpur-Esche", "Eschen, Purpur-Esche")) %>%
    mutate(name_de = replace(name_de, name_de == "Purpur-Perückenstrauch", "Perückensträucher, Purpur-Perückenstrauch")) %>%    
    mutate(name_de = replace(name_de, name_de == "Quitte", "Cydonia, Quitte")) %>%    
    mutate(name_de = replace(name_de, name_de == "Robusta-Pappel", "Pappeln, Kanadische Pappel 'Robusta'")) %>%
    mutate(name_de = replace(name_de, name_de == "Rosa Schnee-Kirsche", "Prunus, Frühlingskirsche")) %>%
    mutate(name_de = replace(name_de, name_de == "Rosskastanie `Briotii`", "Rosskastanien, Rosskastanie `Briotii`")) %>%
    mutate(name_de = replace(name_de, name_de == "Rosskastanie", "Rosskastanien, Rosskastanie")) %>%
    mutate(name_de = replace(name_de, name_de == "Rot-Dorn", "Weißdorne, Echter Rotdorn")) %>%
    mutate(name_de = replace(name_de, name_de == "Roter Schlangenhaut-Ahorn", "Ahorne, Roter Schlangenhaut-Ahorn")) %>%    
    mutate(name_de = replace(name_de, name_de == "Säulen-Eibe", "Eiben, Säulen-Eibe")) %>%
    mutate(name_de = replace(name_de, name_de == "Säulen-Hainbuche", "Hainbuchen, Säulenhainbuche")) %>%
    mutate(name_de = replace(name_de, name_de == "Säulen-Pappel", "Pappeln, Säulenpappel")) %>%
    mutate(name_de = replace(name_de, name_de == "Säulen-Spitz-Ahorn", "Ahorne, Säulen-Spitzahorn")) %>%
    mutate(name_de = replace(name_de, name_de == "Säulen-Weißdorn", "Weißdorne, Säulen-Weißdorn")) %>%
    mutate(name_de = replace(name_de, name_de == "Säulen-Zierkirsche", "Prunus, Japanische Blütenkirsche 'Amanogawa'")) %>%    
    mutate(name_de = replace(name_de, name_de == "Scharlach-Weißdorn", "Weißdorne, Scharlach-Weißdorn")) %>%    
    mutate(name_de = replace(name_de, name_de == "schmalblättrige Ölweide", "Ölweiden, Schmalblättrige Ölweide")) %>%    
    mutate(name_de = replace(name_de, name_de == "Schmalkronige Gleditschie", "Gleditschien, Schmalkronige Gleditschie")) %>%
    mutate(name_de = replace(name_de, name_de == "Schmalkronige Mehlbeere", "Mehlbeeren, Schmalkronige Mehlbeere")) %>%
    mutate(name_de = replace(name_de, name_de == "Schmalkronige Stadt-Ulme", "Ulmen, Schmalkronige Stadtulme")) %>%
    mutate(name_de = replace(name_de, name_de == "Schmalkroniger Rot-Ahorn", "Ahorne, Schmalkroniger Rot-Ahorn")) %>%    
    mutate(name_de = replace(name_de, name_de == "Schnurbaum 'Regent'", "Schnurbäume, Schnurbaum 'Regent'")) %>%
    mutate(name_de = replace(name_de, name_de == "Schnurbaum", "Styphnolobium, Japanischer Schnurbaum")) %>%
    mutate(name_de = replace(name_de, name_de == "Schwarz-Kiefer", "Kiefern, Schwarz-Kiefer")) %>%
    mutate(name_de = replace(name_de, name_de == "Schwedler´s Spitz-Ahorn", "Ahorne, Spitzahorn 'Schwedleri'")) %>%
    mutate(name_de = replace(name_de, name_de == "Silber-Linde 'Argentea'", "Linden, Silber-Linde 'Argentea'")) %>%    
    mutate(name_de = replace(name_de, name_de == "Silber-Pappel", "Pappeln, Silber-Pappel")) %>%
    mutate(name_de = replace(name_de, name_de == "Spiegelrinden-Kirsche", "Prunus, Spiegelrinden-Kirsche")) %>%
    mutate(name_de = replace(name_de, name_de == "Straßen-Akazie", "Akazien, Straßenakazie")) %>%
    mutate(name_de = replace(name_de, name_de == "Straßen-Esche", "Eschen, Straßenesche")) %>%
    mutate(name_de = replace(name_de, name_de == "Strauch-Eibisch 'Totus albus'", "Straucheibisch, Straucheibisch 'Totus albus'")) %>%
    mutate(name_de = replace(name_de, name_de == "Thüringesche-Mehlbeere", "Mehlbeeren, Thüringer Mehlbeere")) %>%    
    mutate(name_de = replace(name_de, name_de == "Thüringische Mehlbeere", "Mehlbeeren, Thüringer Mehlbeere")) %>%    
    mutate(name_de = replace(name_de, name_de == "Trauer-Weide", "Weiden, Trauerweide")) %>%
    mutate(name_de = replace(name_de, name_de == "Trompetenbaum", "Trompetenbäume, Trompetenbaum")) %>%
    mutate(name_de = replace(name_de, name_de == "Tulpen-Magnolie", "Magnolien, Tulpen-Magnolie")) %>%
    mutate(name_de = replace(name_de, name_de == "Tulpenbaum", "Tulpenbäume, Tulpenbaum")) %>%
    mutate(name_de = replace(name_de, name_de == "Ulme Dodoens", "Ulmen, Ulme 'Dodoens'")) %>%
    mutate(name_de = replace(name_de, name_de == "Ulme New Horizon", "Ulmen, Ulme 'New Horizon'")) %>%
    mutate(name_de = replace(name_de, name_de == "Ulmus Hybride 'Commelin'", "Ulmen, Ulme 'Commelin'")) %>%
    mutate(name_de = replace(name_de, name_de == "Urweltmammutbaum", "Metasequoia, Urweltmammutbaum")) %>%
    mutate(name_de = replace(name_de, name_de == "Vogel-Kirsche", "Prunus, Vogelkirsche")) %>%
    mutate(name_de = replace(name_de, name_de == "Winter-Linde 'Rancho'", "Linden, Winterlinde 'Rancho'")) %>%
    mutate(name_de = replace(name_de, name_de == "Yoshino-Kirsche", "Prunus, Japanische Maienkirsche")) %>%
    mutate(name_de = replace(name_de, name_de == "Zierapfel evereste", "Äpfel, Zierapfel 'Evereste'")) %>%    
    mutate(name_de = replace(name_de, name_de == "Zierapfel sargentii", "Äpfel, Zierapfel 'Sargentii'")) %>%    
    mutate(name_de = replace(name_de, name_de == "Zierapfel", "Äpfel, Zierapfel")) %>%
    mutate(name_de = replace(name_de, name_de == "Chinesische-Birne", "Pyrus, Chinesische-Birne")) %>%
    mutate(name_de = replace(name_de, name_de == "Eibisch", "Malvengewächse, Straucheibisch")) %>%    
    mutate(name_de = replace(name_de, name_de == "Gehölze", "Gehölze, Gehölze")) %>%    
    mutate(name_de = replace(name_de, name_de == "Hängende Nelken-Kirsche", "Prunus, Hängende Nelken-Kirsch")) %>%    
    mutate(name_de = replace(name_de, name_de == "Kanadische Felsenbirne", "Felsenbirnen, Kanadische Felsenbirne")) %>%    
    mutate(name_de = replace(name_de, name_de == "Kirsche", "Prunus, Kirsche")) %>%    
    mutate(name_de = replace(name_de, name_de == "Korkenzieher-Hasel", "Haseln, Korkenzieherhasel")) %>%    
    mutate(name_de = replace(name_de, name_de == "Pagoden-Hartriegel", "Hartriegelgewächse, Pagoden-Hartriegel")) %>%    
    mutate(name_de = replace(name_de, name_de == "Roter-Fächer-Ahorn", "Ahorne, Roter Fächer-Ahorn")) %>%    
    mutate(name_de = replace(name_de, name_de == "Asch-Weide", "Weiden, Asch-Weide")) %>%    
    mutate(name_de = replace(name_de, name_de == "Flesenbirne, kupferrote Felsenbirne", "Felsenbirnen, Kupferrote Felsenbirne")) %>%    
    mutate(name_de = replace(name_de, name_de == "Zwetschge", "Prunus, Pflaume")) %>%    
    mutate(name_de = replace(name_de, name_de == "Zwetschge", "Prunus, Pflaume")) %>%    
    mutate(name_de = replace(name_de, name_de == "Zwetschge", "Prunus, Pflaume")) %>%    
    mutate(name_de = replace(name_de, name_de == "Zwetschge", "Prunus, Pflaume")) %>%    
    mutate(name_de = replace(name_de, name_de == "Zwetschge", "Prunus, Pflaume")) %>%    
    mutate(name_de = replace(name_de, name_de == "Zwetschge", "Prunus, Pflaume")) %>%    
    mutate(name_de = replace(name_de, name_de == "Zwetschge", "Prunus, Pflaume")) %>%    

    separate(name_de, into=c('gattung','name_de'), sep=',', extra='merge', fill='left') %>%

    mutate(gattung = replace(gattung, gattung == "Ahorn", "Ahorne")) %>%    
    mutate(gattung = replace(gattung, gattung == "Apfelbaum", "Äpfel")) %>%    
    mutate(gattung = replace(gattung, gattung == "Arve", "Kiefern")) %>%    
    mutate(gattung = replace(gattung, gattung == "Birke", "Birken")) %>%    
    mutate(gattung = replace(gattung, gattung == "Birne", "Birnen")) %>%    
    mutate(gattung = replace(gattung, gattung == "Buche", "Buchen")) %>%    
    mutate(gattung = replace(gattung, gattung == "Eibe", "Eiben")) %>%    
    mutate(gattung = replace(gattung, gattung == "Erle", "Erlen")) %>%    
    mutate(gattung = replace(gattung, gattung == "Esche", "Eschen")) %>%    
    mutate(gattung = replace(gattung, gattung == "Fichte", "Fichten")) %>%    
    mutate(gattung = replace(gattung, gattung == "Gleditschie", "Gleditschien")) %>%    
    mutate(gattung = replace(gattung, gattung == "Hartriegel", "Hartriegelgewächse")) %>%    
    mutate(gattung = replace(gattung, gattung == "Kastanie", "Kastanien")) %>%    
    mutate(gattung = replace(gattung, gattung == "Kiefer", "Kiefern")) %>%    
    mutate(gattung = replace(gattung, gattung == "Linde", "Linden")) %>%    
    mutate(gattung = replace(gattung, gattung == "Magnolie", "Magnolien")) %>%    
    mutate(gattung = replace(gattung, gattung == "Kirsche", "Prunus")) %>%    
    mutate(gattung = replace(gattung, gattung == "Maulbeerbaum", "Maulbeeren")) %>%    
    mutate(gattung = replace(gattung, gattung == "Mehlbeere", "Mehlbeeren")) %>%    
    mutate(gattung = replace(gattung, gattung == "Nussbaum", "Walnüsse")) %>%    
    mutate(gattung = replace(gattung, gattung == "Pappel", "Pappeln")) %>%    
    mutate(gattung = replace(gattung, gattung == "Platane", "Platanen")) %>%    
    mutate(gattung = replace(gattung, gattung == "Ulme", "Ulmen")) %>%    
    mutate(gattung = replace(gattung, gattung == "Weide", "Weiden")) %>%    
    mutate(gattung = replace(gattung, gattung == "Weißdorn", "Weißdorne")) %>%    
    mutate(gattung = replace(gattung, gattung == "Flügelnuß", "Flügelnüsse")) %>%    
    mutate(gattung = replace(gattung, gattung == "Hasel", "Haseln")) %>%    
    mutate(gattung = replace(gattung, gattung == "Hemlockstanne", "Hemlockstannen")) %>%    
    mutate(gattung = replace(gattung, gattung == "Lärche", "Lärchen")) %>%    
    mutate(gattung = replace(gattung, gattung == "Maulbeere", "Maulbeeren")) %>%    
    mutate(gattung = replace(gattung, gattung == "Rosskastanie", "Rosskastanien")) %>%    
    mutate(gattung = replace(gattung, gattung == "Roßkastanien", "Rosskastanien")) %>%    
    mutate(gattung = replace(gattung, gattung == "Straucheibisch", "Eibisch")) %>%    
    mutate(gattung = replace(gattung, gattung == "Tanne", "Tannen")) %>%    
    mutate(gattung = replace(gattung, gattung == "Wald-Kiefer", "Kiefern")) %>%    
    mutate(gattung = replace(gattung, gattung == "Zürgelbaum", "Zürgelbäume")) %>%    
    mutate(gattung = replace(gattung, gattung == "Eiche", "Eichen")) %>%    
    mutate(gattung = replace(gattung, gattung == "Scheinakazie", "Robinien")) %>%    
    mutate(gattung = replace(gattung, gattung == "Schwarzdorn", "Prunus")) %>%    
    mutate(gattung = replace(gattung, gattung == "Stechpalme", "Stechpalmen")) %>%    
    mutate(gattung = replace(gattung, gattung == "Vogelbeere", "Mehlbeeren")) %>%    
    mutate(gattung = replace(gattung, gattung == "Weißbuche", "Hainbuchen")) %>%    

    select(-c('baumId', 'baumNr', 'AGOL_Name', 'OBJECTID')) %>%
    mutate_if(is.character, trim) %>%
    mutate_if(is.character, as.factor)

Das Baumkataster der Stadt Konstanzer enthält in Summe 15711 Bäume.

Gattungen

Das Baumkataster der Stadt Konstanzer enthält 68 verschiedene Gattungen - 131 Einträge haben hier keinen gültigen Wert.

N = 50
data <- kataster %>%
  filter(!is.na(gattung)) %>%
  group_by(gattung) %>%
  summarize(n = n()) %>%
  filter(n > N) %>%
  arrange(desc(n))
ggplot(data) +
    geom_bar(aes(x=reorder(gattung, -n), y=n), stat = "identity") +
    labs(title=paste0('Bäume der Stadt Konstanz (Gattungen), Anzahl > ', N), x='Gattung', y='Anzahl Bäume') +
    theme_bw() +
    theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))

Abbildung: Verteilung der Gattungen der Bäume der Stadt Konstanz für Gattungen mit mehr als 50 Bäumen.

kataster %>%
    filter(!is.na(gattung)) %>%
    group_by(gattung) %>%
    summarize(n = n()) %>%
    arrange(desc(n)) %>%
    select(Gattung=gattung, 'Anzahl Bäume'=n) %>%
    kable %>%
    kable_styling("striped", full_width = F) %>%
    scroll_box(height = "300px")
Gattung Anzahl Bäume
Ahorne 2022
Linden 1658
Eschen 1055
Platanen 953
Birken 934
Eichen 823
Prunus 808
Hainbuchen 774
Pappeln 754
Weiden 717
Birnen 630
Äpfel 583
Rosskastanien 530
Walnüsse 403
Buchen 313
Erlen 301
Gleditschien 285
Ulmen 247
Kiefern 187
Haseln 178
Mehlbeeren 174
Weißdorne 152
Fichten 134
Robinien 131
Eiben 76
Magnolien 65
Hartriegelgewächse 58
Lärchen 47
Amberbäume 42
Felsenbirnen 42
Styphnolobium 40
Tulpenbäume 34
Gehölze 33
Ginkgo 33
Thuja 32
Lebensbäume 28
Scheinzypressen 24
Schnurbäume 23
Akazien 22
Trompetenbäume 22
Paulownie 17
Koelreuteria 14
Hemlockstannen 11
Kreuzdorn 11
Sequoiadendron 11
Zypressen 11
Kastanien 10
Metasequoia 10
Zürgelbäume 10
Eibisch 9
Japanischer Kuchenbäume 9
Douglasien 8
Judasblattbäume 8
Maulbeeren 8
Tannen 8
Flügelnüsse 6
Ölweiden 6
Buchsbäume 5
Cydonia 5
Holunder 5
Hopfenbuchen 5
Perückensträucher 5
Zedern 5
Malvengewächse 4
Pyrus 4
Stechpalmen 3
Wacholder 3
Flieder 2

Tabelle: Verteilung der Gattungen der Bäume der Stadt Konstanz sortiert nach Anzahl der Bäume pro Gattung.

Arten

Das Baumkataster der Stadt Konstanzer enthält 289 verschiedene Arten - 0 Einträge haben hier keinen gültigen Wert.

N = 100
data <- kataster %>%
  filter(!is.na(name_de)) %>%
  group_by(name_de) %>%
  summarize(n = n()) %>%
  filter(n > N) %>%
  arrange(desc(n))
ggplot(data) +
    geom_bar(aes(x=reorder(name_de, -n), y=n), stat = "identity") +
    labs(title=paste0('Bäume der Stadt Konstanz (Arten), Anzahl > ', N), x='Art', y='Anzahl Bäume') +
    theme_bw() +
    theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))

Abbildung: Verteilung der Arten der Bäume der Stadt Konstanz für Arten mit mehr als 100 Bäumen.

kataster %>%
    filter(!is.na(name_de)) %>%
    group_by(name_de) %>%
    summarize(n = n()) %>%
    arrange(desc(n)) %>%
    select(Art=name_de, 'Anzahl Bäume'=n) %>%
    kable %>%
    kable_styling("striped", full_width = F) %>%
    scroll_box(height = "300px")
Art Anzahl Bäume
Platane 952
Sand-Birke 809
Stiel-Eiche, Sommer-Eiche 667
Esche gemeine 614
Winter-Linde 605
Kultur-Apfel 539
Silber-Weide 536
Spitz-Ahorn 523
Berg-Ahorn 517
Holz-Birne 513
Hainbuche 503
Feld-Ahorn 428
Walnuss 397
Rosskastanie 372
Rotbuche 293
Straßenesche 261
Sommer-Linde 252
Vogel-Kirsche 250
Winterlinde ‘Greenspire’ 244
Dornenlose Gleditschie 234
Kanadische Pappel 218
Silberlinde ‘Brabant’ 210
Kegel-Feldahorn 179
Säulenpappel 177
Säulenhainbuche 171
Schwarz-Erle 168
Baum-Hasel 155
Säulen-Spitzahorn 152
Föhre 137
Gefüllte Vogelkirsche 134
Berliner Lorbeerpappel 132
Robinie 123
Winterlinde ‘Rancho’ 113
Hainbuche ‘Frans Fontaine’ 100
Silber-Linde 99
Rot-Fichte 95
Kegel-Linde ‘Glenleven’ 86
Purpur-Erle 84
Säulen - Eiche 83
Silber-Ahorn 82
Sal-Weide 77
Gefülltblühende Roßkastanie 74
Moor-Birke 73
Chinesische Birne 67
gemeine 66
Schwedische Mehlbeere 63
Silber-Pappel 63
Trauben-Kirsche 63
Pflaume 59
Kanadische Pappel ‘Robusta’ 58
Schwarz-Pappel 58
Schmalkronige Stadtulme 55
Kornelkirsche 54
Esche ‘Geessink’ 53
Echter Rotdorn 51
Ulme ‘Dodoens’ 50
Baum-Magnolie 49
Europäische Lärche 47
Feldulme 47
Japanische Maienkirsche 44
Einblättrige Esche 43
Amberbaum 42
Konstanzer Mostbirne 42
Rosskastanie Briotii 42
rotblühend 41
Schmalkronige Gleditschie 41
Blumenesche, Manna-Esche 40
Japanischer Schnurbaum 40
Vogelkirsche 40
Eingriffliger Weißdorn 39
Schwarz-Kiefer 39
Kaiser-Linde 38
Trauerweide 38
Ulme ‘Commelin’ 36
Tulpenbaum 34
Gehölze 33
Ginkgo 33
Kupferrote Felsenbirne 33
Frühe Zierkirsche 31
Serbische Fichte 31
Silber-Weide ‘Liempde’ 31
Spiegelrinden-Kirsche 31
Italienische Erle 29
Frühlingskirsche 28
Großer Lebensbaum 28
Spitzahorn ‘Schwedleri’ 28
Ulme ‘New Horizon’ 28
Kugel-Ahorn 27
Winterkirsche 27
Flatterulme 26
Säulen-Weißdorn 26
Zitter-Pappel, Espe,Aspe 24
Grau-Pappel 23
Kugel-Esche 23
Lebensbaum 23
Schnurbaum ‘Regent’ 23
Trauben-Eiche, Winter-Eiche 23
Mehlbeere 22
Straßenakazie 22
Trompetenbaum 22
Papier-Birke 21
Blutbuche 20
Eberesche 20
Grau-Erle 20
Sumpf- Eiche 20
Berg-Kirsche 19
Großlaubige Mehlbeere 19
Haselnuß 19
Blutpflaume 18
Schmalkronige Mehlbeere 18
Blauglockenbaum 17
Bruch-Weide 17
Scheinzypresse ‘Lawson’ 17
Zierapfel 17
Elsbeere 16
Eschen-Ahorn 16
Japanische Nelkenkirsche 16
Thüringer Mehlbeere 16
Tulpen-Magnolie 16
Hahnensporn-Weißdorn 15
Blasenesche 14
Feuer-Ahorn 14
Hänge-Birke 14
Amerikanische, Rot-Eiche 12
Bergahorn ‘Rotterdam’ 12
Gold-Birke 12
Mirabelle 12
rotbl. Ahorn 12
Zerr-Eiche 12
Blaue Kegelzypresse 11
Esche ‘Altena’ 11
Faulbaum 11
kanadische 11
Korkenzieher-Weide 11
Kugel-Robinie 11
Riesenmammutbaum 11
abendländischer 10
Edelkastanie 10
Lederhülsenbaum 10
Säulen-Eibe 10
Urweltmammutbaum 10
Apfeldorn 9
Japanischer Kuchenbaum 9
Kirsch-Pflaume 9
Purpur-Esche 9
Straucheibisch ‘Totus albus’ 9
Apfel, ’Boskoop 8
Bergulme 8
Douglasie 8
Franz.Burg-Ahorn 8
Holzbirne ‘Beech Hill’ 8
Judasbaum 8
Silber-Linde ‘Argentea’ 8
Blaue Scheinzypresse 7
Japanische Blütenkirsche ‘Amanogawa’ 7
Pflaumenblättriger Weißdorn 7
Riesen-Thuja 7
Schlehe 7
Schmalkroniger Rot-Ahorn 7
Weiße Maulbeere 7
Zierapfel ‘Evereste’ 7
Zierapfel ‘Sargentii’ 7
kaukasische 6
Roter Schlangenhaut-Ahorn 6
Schmalblättrige Ölweide 6
Schwarznuss 6
Ungarische Eiche 6
Atlas-Zeder 5
Berg-Kiefer, Krummholz-Kiefer 5
Buchsbaum 5
Felsenbirne ‘Robin Hill’ 5
Himalaja-Birke 5
Hopfenbuche 5
Purpur-Perückenstrauch 5
Quitte 5
Rot-Ahorn 5
Scharlach-Weißdorn 5
Schwarzer Holunder 5
Stech-Fichte ‘’Glauca’ 5
Chinesische-Birne 4
Hängende Nelken-Kirsch 4
Kanadische Felsenbirne 4
Kirsche 4
Korkenzieherhasel 4
Pagoden-Hartriegel 4
Roter Fächer-Ahorn 4
Straucheibisch 4
Asch-Weide 3
Blaue Säulenzypresse 3
Chin. Wacholder 3
Eisenholzbaum 3
Esche ‘Atlas’ 3
Gold-Lebensbaum 3
Goldregen 3
Götterbaum 3
Großblumige Stern-Magnolie 3
Hänge-Schnurbaum 3
Hänge-Ulme 3
Japanischer Apfel 3
Kirschpflaume ‘Atropurpurea’ 3
Korb-Weide 3
Österreichische Schwarzkiefer 3
Silber-Pappel ‘Fritzii Paulii’ 3
Spanische Tanne 3
Spitz-Ahorn “Emerlad Queen” 3
Steinweichsel 3
Sumpfzypresse 3
Weiß Tanne 3
Zierkirsche 3
Zimt-Ahorn 3
Àmberbaum Sorte Paarl 2
Atlantik-Zeder 2
Berg-Ahorn ‘Spaethii’ 2
Chinesische Thuja 2
Farnblättrige Rotbuche 2
Gem. Flieder 2
Gemeine Stechpalme 2
Hänge-Buche 2
Hirschkolben-Sumach 2
Holz-Apfel 2
Hybrid-Linde 2
Japan-Eberesche 2
Kaukasus Fichte 2
Kirschlorbeer 2
Küsten-Sequoie 2
Lavendel-Weide 2
Öfterblühende Robinie 2
Palmstrauch-Weißdorn 2
Purpur-Hasel 2
Robinie “Bessoniana” 2
Sauer-Kirsche 2
Schmalbl. Esche 2
Schnee-Kirsche 2
Schwarz-Birke 2
Sicheltanne 2
Speierling 2
Spitz-Ahorn ‘Fairview’ 2
Taubenbaum 2
Tränen-Kiefer 2
Weiße Nelken-Kirsche 2
Weymouths-Kiefer 2
Blutroter Hartriegel 1
Chinesische Großblatt-Pappel 1
Colorado-Tanne 1
Echte Sal-Weide 1
Einblättrige Robinie 1
Fächer-Ahorn 1
Gelb-Kiefer 1
Gemeines Pfaffenhütchen 1
Geschlitztblättrige Buche 1
Geschlitzter Silber-Ahorn 1
Gewöhnlicher Schneeball 1
Gold-Ulme 1
Hänge-Esche 1
Hängende Blut-Buche 1
Hängende Nutka Scheinzypresse 1
Hickorynuss 1
Jap.Stechpalme 1
Japanischer Blumen-Hartriegel 1
Kleinkronige Winter-Linde 1
Korkbaum 1
Krim-Linde 1
Langstielige Stechhülse 1
Lebensbaum ‘Smaragd’ 1
Lorbeer-Pappel 1
Mehlbeere von Fontainebleau 1
Momi-Tanne 1
Morgenländische Platane 1
Persische Eiche 1
Pfitzer´s Wacholder 1
Purpur-Weide 1
Riesen-Lebensbaum ‘Zebrina’ 1
Rotnerviger Ahorn 1
Säulen-Eberesche 1
Säulen-Lebensbaum 1
Säulen-Zitter-Pappel 1
Schmuck-Eberesche 1
schwarzer 1
Serbische Fichte ‘Nana’ 1
Silber-Eschenahorn 1
Späte Traubenkirsche 1
Spitz-Ahorn ‘Cleveland’ 1
Stech-Fichte 1
Stein-Eiche 1
strauchartige 1
Ungarische Silberlinde 1
Winterlinde ‘Roelvo’ 1
Zierapfel purpurea 1
Zirbel-Kiefer 1

Tabelle: Verteilung der Arten der Bäume der Stadt Konstanz sortiert nach Anzahl der Bäume pro Art.

Stammumfang

Das Baumkataster der Stadt Konstanz enthält 7 Bäume ohne einen gültigen Wert für den Stammumfang.

ggplot(kataster %>% filter(!is.na(stammumfang))) +
    geom_histogram(aes(x=stammumfang), binwidth=25) +
    labs(title='Bäume der Stadt Konstanz (Stammumfang)', x='Stammumfang [cm]', y='Anzahl Bäume') +
    theme_bw()

Abbildung: Verteilung des Stammumfangs der Bäume der Stadt Konstanz.

kataster %>%
    filter(!is.na(stammumfang)) %>%
    group_by(stammumfang) %>%
    summarize(n = n()) %>%
    arrange(desc(stammumfang)) %>%
    select(Stammumfang=stammumfang, 'Anzahl Bäume'=n) %>%
    kable %>%
    kable_styling("striped", full_width = F) %>%
    scroll_box(height = "300px")
Stammumfang Anzahl Bäume
900 1
780 1
705 1
699 1
673 1
658 1
637 1
620 1
600 2
597 1
595 1
593 1
582 1
576 1
560 1
550 1
549 1
530 3
527 1
526 1
522 1
520 5
518 1
517 2
510 2
506 1
500 3
485 2
478 1
475 1
474 2
473 1
471 2
470 1
468 1
465 2
462 2
460 3
458 1
457 1
453 1
450 4
448 1
446 1
445 1
443 1
440 1
439 1
438 1
437 4
435 1
433 1
430 8
428 2
427 1
426 1
425 2
424 3
423 1
420 7
417 1
416 1
415 2
413 1
412 1
411 1
410 5
408 1
405 1
404 4
403 3
402 1
400 12
399 1
398 4
397 1
395 6
394 1
393 2
392 1
390 5
389 1
388 2
387 3
386 1
385 6
384 3
383 1
382 3
381 1
380 12
377 1
376 3
375 4
374 1
373 5
372 4
371 1
370 12
369 1
368 2
367 1
366 4
365 3
364 2
363 3
362 3
361 2
360 8
359 3
358 5
357 4
356 3
355 3
354 3
353 3
352 3
350 10
349 3
348 5
347 5
346 1
345 6
344 6
343 3
342 5
341 1
340 9
339 4
338 5
337 2
336 1
335 5
334 6
333 4
332 5
331 2
330 12
328 4
327 7
326 3
325 6
324 1
323 3
322 2
320 16
319 1
318 5
317 4
316 3
315 7
314 1
313 2
312 5
311 4
310 13
309 2
308 4
307 8
306 2
305 9
304 5
303 6
302 6
301 2
300 26
299 5
298 8
297 9
296 12
295 4
294 7
293 7
292 8
291 5
290 16
289 10
288 7
287 6
286 11
285 12
284 11
283 13
282 10
281 12
280 18
279 10
278 10
277 8
276 8
275 4
274 7
273 12
272 5
271 10
270 23
269 9
268 13
267 15
266 12
265 13
264 11
263 14
262 11
261 16
260 21
259 6
258 12
257 11
256 15
255 13
254 12
253 17
252 19
251 9
250 30
249 11
248 14
247 18
246 15
245 16
244 10
243 22
242 12
241 13
240 25
239 11
238 14
237 12
236 23
235 19
234 26
233 11
232 14
231 11
230 31
229 12
228 19
227 18
226 13
225 21
224 22
223 20
222 20
221 17
220 39
219 20
218 19
217 31
216 29
215 21
214 32
213 22
212 23
211 23
210 34
209 24
208 24
207 31
206 24
205 36
204 33
203 29
202 29
201 19
200 53
199 22
198 28
197 34
196 29
195 37
194 37
193 25
192 26
191 24
190 58
189 30
188 20
187 42
186 36
185 53
184 35
183 32
182 33
181 25
180 66
179 33
178 48
177 36
176 36
175 44
174 45
173 32
172 49
171 36
170 66
169 36
168 32
167 51
166 32
165 52
164 50
163 50
162 43
161 45
160 69
159 50
158 63
157 53
156 61
155 51
154 49
153 40
152 38
151 45
150 63
149 44
148 52
147 54
146 51
145 57
144 42
143 54
142 63
141 56
140 73
139 58
138 60
137 56
136 57
135 65
134 53
133 55
132 62
131 52
130 78
129 50
128 39
127 60
126 61
125 55
124 71
123 57
122 60
121 60
120 91
119 55
118 62
117 64
116 67
115 68
114 54
113 72
112 69
111 38
110 93
109 68
108 74
107 69
106 75
105 77
104 70
103 74
102 82
101 55
100 89
99 68
98 80
97 79
96 71
95 79
94 65
93 93
92 82
91 64
90 125
89 74
88 81
87 85
86 74
85 95
84 80
83 87
82 82
81 59
80 108
79 93
78 94
77 76
76 85
75 85
74 113
73 83
72 84
71 82
70 138
69 99
68 94
67 100
66 91
65 92
64 86
63 76
62 88
61 74
60 121
59 75
58 82
57 109
56 80
55 87
54 108
53 94
52 99
51 92
50 123
49 82
48 97
47 93
46 97
45 102
44 98
43 87
42 80
41 99
40 107
39 104
38 110
37 91
36 86
35 99
34 86
33 96
32 84
31 70
30 121
29 79
28 72
27 66
26 54
25 186
24 64
23 57
22 55
21 37
20 608
19 32
18 180
17 33
16 83
15 22
14 54
13 13
12 73
11 14
10 68
9 31
8 78
7 5
6 10
4 5
3 1
2 2
0 3

Tabelle: Verteilung des Stammumfang der Bäume der Stadt Konstanz, sortiert nach Stammumfang.

bb <- c(9.12, 47.65, 9.22, 47.70)
map <- get_stamenmap(bb, maptype="terrain", zoom=15)
data <- kataster %>% 
    filter(!is.na(stammumfang)) %>%
    filter(x >= bb[1] & x <= bb[3]) %>%
    filter(y >= bb[2] & y <= bb[4]) %>%
    arrange(stammumfang)
size <- data$stammumfang / 250
ggmap(map) +
    geom_point(data=data, aes(x=x, y=y, color=stammumfang), size=size, alpha=0.5) +
    labs(title='Bäume der Stadt Konstanz (Stammumfang)') +
    theme_void() +
    theme(legend.position="bottom") +
    scale_color_continuous(name='Stammumfang in Zentimeter')

Karte: Verteilung der Bäume der Stadt Konstanz im Stadtgebiet, hervorgehoben ist der Stammumfang der eingezeichneten Bäume.

Höhe

Das Baumkataster der Stadt Konstanzer enthält 5 Einträge ohnen einen gültigen Wert für die Höhe.

ggplot(kataster %>% filter(!is.na(hoehe))) +
    geom_histogram(aes(x=hoehe), binwidth=1) +
    labs(title='Bäume der Stadt Konstanz (Höhe)', x='Höhe [m]', y='Anzahl Bäume') +
    theme_bw()

Abbildung: Verteilung der Höhe der Bäume der Stadt Konstanz.

kataster %>%
    filter(!is.na(hoehe)) %>%
    group_by(hoehe) %>%
    summarize(n = n()) %>%
    arrange(desc(hoehe)) %>%
    select(Höhe=hoehe, 'Anzahl Bäume'=n) %>%
    kable %>%
    kable_styling("striped", full_width = F) %>%
    scroll_box(height = "300px")
Höhe Anzahl Bäume
40 2
37 1
35 16
33 3
32 9
31 4
30 170
29 7
28 40
27 29
26 72
25 259
24 81
23 123
22 272
21 176
20 502
19 267
18 628
17 435
16 507
15 689
14 551
13 495
12 734
11 566
10 784
9 842
8 995
7 1091
6 1310
5 1556
4 1402
3 816
2 258
1 14

Tabelle: Verteilung der Höhe der Bäume der Stadt Konstanz, sortiert nach Höhe

bb <- c(9.12, 47.65, 9.22, 47.70)
map <- get_stamenmap(bb, maptype="terrain", zoom=15)
data <- kataster %>% 
    filter(!is.na(hoehe)) %>%
    filter(x >= bb[1] & x <= bb[3]) %>%
    filter(y >= bb[2] & y <= bb[4]) %>%
    arrange(hoehe)
size <- data$hoehe / 10
ggmap(map) +
    geom_point(data=data, aes(x=x, y=y, color=hoehe), size=size, alpha=0.5) +
    labs(title='Bäume der Stadt Konstanz (Höhe)') +
    theme_void() +
    theme(legend.position="bottom") +
    scale_color_continuous(name='Höhe in Meter')

Karte: Verteilung der Bäume der Stadt Konstanz im Stadtgebiet, hervorgehoben ist die Höhe der eingezeichneten Bäume.

Kronendurchmesser

Das Baumkataster der Stadt Konstanzer enthält 0 Einträge ohnen einen gültigen Wert für den Kronendurchmesser.

ggplot(kataster %>% filter(!is.na(kronendurchmesser))) +
    geom_histogram(aes(x=kronendurchmesser), binwidth=1) +
    labs(title='Bäume der Stadt Konstanz (Kronendurchmesser)', x='Kronendurchmesser [m]', y='Anzahl Bäume') +
    theme_bw()

Abbildung: Verteilung de Kronendurchmessers der Bäume der Stadt Konstanz.

kataster %>%
    filter(!is.na(kronendurchmesser)) %>%
    group_by(kronendurchmesser) %>%
    summarize(n = n()) %>%
    arrange(desc(kronendurchmesser)) %>%
    select(Kronendurchmesser=kronendurchmesser, 'Anzahl Bäume'=n) %>%
    kable %>%
    kable_styling("striped", full_width = F) %>%
    scroll_box(height = "300px")
Kronendurchmesser Anzahl Bäume
30 3
25 3
24 2
22 6
21 2
20 69
19 4
18 68
17 30
16 79
15 272
14 247
13 121
12 746
11 352
10 1063
9 745
8 1452
7 1008
6 1733
5 1589
4 1697
3 1229
2 1448
1 1732
0 11

Tabelle: Verteilung des Kronendurchmessers der Bäume der Stadt Konstanz, sortiert nach Kronendurchmesser.

bb <- c(9.12, 47.65, 9.22, 47.70)
map <- get_stamenmap(bb, maptype="terrain", zoom=15)
data <- kataster %>% 
    filter(!is.na(kronendurchmesser)) %>%
    filter(x >= bb[1] & x <= bb[3]) %>%
    filter(y >= bb[2] & y <= bb[4]) %>%
    arrange(kronendurchmesser)
size <- data$kronendurchmesser / 10
ggmap(map) +
    geom_point(data=data, aes(x=x, y=y, color=kronendurchmesser), size=size, alpha=0.5) +
    labs(title='Bäume der Stadt Konstanz (Kronendurchmesser)') +
    theme_void() +
    theme(legend.position="bottom") +
    scale_color_continuous(name='Kronendurchmesser in Meter')

Karte: Verteilung der Bäume der Stadt Konstanz im Stadtgebiet, hervorgehoben ist der Kromnendurchmesser der eingezeichneten Bäume.

Standort

Der Standort mit den mit Abstand meisten Bäumen ist der Hauptfriedhof. Dort lebt es sich offensichtöich am gesündesten. Das Baumkataster der Stadt Konstanzer enthält 0 Einträge ohnen einen gültigen Wert für den Standort.

N = 75
data <- kataster %>%
  filter(!is.na(name_de)) %>%
  group_by(standort) %>%
  summarize(n = n()) %>%
  filter(n > N) %>%
  arrange(desc(n))
ggplot(data) +
    geom_bar(aes(x=reorder(standort, -n), y=n), stat = "identity") +
    labs(title=paste0('Bäume der Stadt Konstanz (Standort), Anzahl > ', N), x='Standort', y='Anzahl Bäume') +
    theme_bw() +
    theme(axis.text.x = element_text(angle = 90, vjust = 0.5, hjust=1))

kataster %>%
    filter(!is.na(standort)) %>%
    group_by(standort) %>%
    summarize(n = n()) %>%
    arrange(desc(n)) %>%
    select(Standort=standort, 'Anzahl Bäume'=n) %>%
    kable %>%
    kable_styling("striped", full_width = F) %>%
    scroll_box(height = "300px")
Standort Anzahl Bäume
Hauptfriedhof (650) 800
Stadtgarten (4) 260
Strandbad Wallhausen (628) 237
Campingplatz Klausenhorn (772) 210
Strandbad Klausenhorn (630) 202
Konstanzer Straße (Tägermoos) (672) 187
Herosépark (477) 185
Kläranlage (499) 180
Grünzug Stromeyersdorf (512) 178
Freibad Horn (316) 170
Geschwister-Scholl-Schule (446) 137
Rheinweg (Tägermoos) (661) 135
Bodensee-Stadion (313) 132
Reichenaustr. (Opel - Kläranlage) (382) 130
Stadtwerke Betriebsgelände (489) 120
Döbeleplatz (103) 119
Hoerlepark (283) 119
Rosenau Ufer (198) 112
Sportpark Schänzle (610) 106
Gottlieberstraße (55) 104
Parkplatz Horn (312) 104
Byk-Gulden-Str. (505) 95
Graf-Lennart-Bernadotte-Allee (Litz.) (347) 95
Klein Venedig (203) 94
Bodensee-Therme (310) 92
Graf-Lennart-Bernadotte-Allee (Egg) (347) 91
Fürstenberg (401) 90
Haidelmoosschule (431) 90
Palmenhauspark (100) 87
Uferweg Unterfeld (388) 83
Sozialzentrum Wessenberg (536) 82
Thermalquelle (311) 81
Am Grenzbach (West) (104) 79
GHS-Berchen (374) 79
Seestr. (Säntis - Hebel) (194) 79
Oberlohnstr. (587) 78
Europastr. Nord Wiese (728) 76
Strandbad Litzelstetten (629) 76
Seeufer Fohrenbühl (286) 75
Jahnstr. (219) 74
KIKUZ-Raiteberg (169) 72
Spielplatz Berchen (450) 72
Trockenliegeplätze Klausenhorn (692) 71
Graf-Lennart-Bernadotte-Allee (Mainau - Egg) (347) 68
Line-Eid-Str. (428) 67
  1. Straße (Tägermoos) (674)
66
Schwaketenbad (416) 66
Hornwiesenstraße (803) 65
Waldfriedhof Litzelstetten (567) 65
Sportzentrum Wollmatingen (415) 64
Anlage Fährehafen (237) 63
Litzelstetter Str. (Nord) (350) 63
Campingplatz Litzelstetten (757) 61
  1. Straße (Tägermoos) (673)
60
Zähringerplatz (210) 59
  1. Straße (Tägermoos) (671)
57
Park Villa Prym (193) 57
Hafenstr. (458) 55
Reichenaustr. (Ebertplatz - Schneckenburg) (606) 55
Grünzug Moosweg (886) 54
Kiga Arche Schwedenschanze (812) 54
Am Rheinufer (Promenade) (550) 53
Bahnweg Grubwiesen (540) 53
Friedhof Allmannsdorf (568) 53
Grenzbachstr. (582) 53
Landeplatz entlang B33 (809) 52
Friedhof Dettingen (565) 50
Hebelstr. (188) 50
Israelitischer Friedhof (819) 50
Friedhof Wollmatingen (569) 49
Konvent Prälatur (157) 49
Riedstraße Ost (452) 49
Seestr. (Conrad-Gröber - Säntis) (194) 49
Am Grenzbach (Ost) (104) 47
Reichenaustr. (Radweg ab Kläranlage) (384) 47
Caritas Uhlandstr.15 (817) 46
GS-Sonnenhalde (175) 46
Parkplatz Campingplatz (801) 46
Reichenaustr.(Opelstr.>Brücke Arbeitsamt) (804) 46
Gustav-Schwab-Str. (150) 45
Eichhornstr. (Hebel - Lorettowald) (189) 44
Spielpatz Siedlerweg (243) 44
Riedstr. (Kreisel - Bahn) (504) 43
Uferpromenade Billenweiher (707) 43
Aufstellfläche Fähre (236) 42
Beethovenstr. (Hebel - Lorettowald) (185) 41
Eichhornstr. (Jakobstr. - Parkplatz Horn) (314) 41
Konstanzer Straße Dettingen (771) 41
Riedstr. (Fußweg Flugplatz) (434) 41
Spielplatz Hindenburgpark (129) 41
Spielplatz Moosweg (623) 40
Wasserwerk (294) 40
Anlage Ernst-Bärtschi-Weg (159) 39
Blarerstr. (Döbele - Gottlieber) (97) 39
Radweg Robert-Gerwig-Str. (659) 39
Rheinstrandbad (153) 39
Sankt-Gebhard-Str. / Ebertplatz (148) 39
Schottenstr. (16) 39
Bodenseeforum Wiese West (778) 37
Europastr. Wiese (Autohaus Winterer) (727) 37
Gemeinschaftsschule Gebhard (774) 37
Graf-Lennart-Bernadotte-Allee (Mainau-Litz) (347) 37
Mainaustr. (Sonnenbühl-Staader Mitte) (233) 37
Querweg III. - IV. Straße (670) 37
Wendelgartweg (Fußweg östlich Bodensee-Therme) (30 37
Winterersteig (Löhry - Rheinbrücke) (120) 37
Augustinerplatz (474) 36
Hoheneggstr. Felsenkeller (234) 36
Rheingutstr. (225) 36
Friedrich-Pecht-Weg (211) 35
Grenzbach (776) 35
GS-Wollmatingen (445) 35
Stromeyersdorfstr. (393) 35
Am Pfeiferhölzle, Grünzug (137) 34
Beethovenstr. (Mainau - Hebel) (185) 34
Lorettowald DJK außen (319) 34
Obere Laube (58) 34
Untere Laube (Rheinsteig - Gartenstr.) (18) 34
Grießeggstr. (212) 33
Parkplatz Dorfplatz (874) 33
Schützenstr. (56) 33
Bolzplatz Sonnenbühlstraße (525) 32
Fohrenbühlweg Wiese (744) 32
Heinrich-Suso-Gymnasium (192) 32
Seeuferanlage Dingelsdorf (768) 32
Sportplatz DJK (321) 32
Sprachheilkindergarten (377) 32
Untere Laube (Wallgut - Lutherplatz) (18) 32
Reisstr. (507) 31
Steinstraße (149) 31
Ziegelhof (656) 31
Eichhornstr. (Fußweg Schmiederklinik) (293) 30
Jugendzentrum Jägerkaserne (152) 30
Luisenplatz - Pauluskirche (183) 30
Lutherplatz (473) 30
Mainaustr. (Sonnenbühl-Staader Süd) (233) 30
Seehalde (289) 30
Sportplatz Schänzle (123) 30
Tägermoosstraße (TG) (678) 30
Turmstraße (557) 30
Bahnhof Wollmatingen (West) (498) 29
Benedikt-Bauer-Str. (516) 29
Bruder-Klaus-Str. (145) 29
Casino (684) 29
Ellenrieder-Gymnasium (111) 29
GHS Dettingen (635) 29
Hockgraben (274) 29
Kl.Gä. Zweite Straße (786) 29
Nägelried (407) 29
Parkplatz / Bootslager (893) 29
Spielplatz Sankt-Verena-Weg (624) 29
Fritz-Arnold-Str. (ZKA - Siemens) (433) 28
Kleingartenanlage Öhmdwiesen II (503) 28
Uhlandstraße (174) 28
Bahnweg Oberlohn (572) 27
Grasweiherweg (756) 27
Max-Stromeyer-Str. (Gottmann - De-Trey) (132) 27
Reichenaustr. (Stromeyersdorf - Brücke) (726) 27
Schänzle (Rheinbrücke - Fischenz) (121) 27
Spielwiese Tannenhof (563) 27
Douglas - Ufer (Ost) (303) 26
Konzil Brunnenanlage (65) 26
Mainaustraße Erdwall L 219 (749) 26
Obere Dritte Straße (660) 26
Spielplatz Goethestr. (170) 26
Allmannsdorfer Str. (179) 25
Alten Graben (114) 25
Badeplatz Allmannsdorf (284) 25
Brüelstr. (220) 25
Buchenbergschule (500) 25
Kath. Kinderhaus St. Peter und Paul (764) 25
Kleingartenanlage Haidelmoos TBK (598) 25
Schneckenburgstr. (131) 25
Schulthaißstraße (99) 25
Anlage Reutestr. (West) (380) 24
Bodanstraße (81) 24
Friedrichstr. Zähringerplatz - Sierenmoostr. (173) 24
Grünzug Line Eid Strasse>Reichenaustr. (810) 24
Jakobstr. (Lorettosteig - Staader) (323) 24
Kath. Kiga Maria Hilf (792) 24
Mainaustraße - Lorettosteig (275) 24
Maria-Hilf-Platz (296) 24
Toms Aqua Club + WSCK (857) 24
Bahnhof Wollmatingen (Ost) (498) 23
Gehölzfläche Hockgraben (826) 23
Hermann-von-Vicari-Straße Turbenried (326) 23
Kleingartenanlage Döbeli (820) 23
Lohnerhofstraße (553) 23
Markgrafenstr. (Gebhard - Schneckenburger) (146) 23
Spielplatz Georg-Elser-Platz (154) 23
Sportplatz FC-Wollmatingen (403) 23
Uferstraße (894) 23
Bahnhof Fürstenberg (Ost) (643) 22
Fohrenbühlweg (287) 22
Haus Talgarten (57) 22
Kinderhaus am Rhein (144) 22
Mainaustr. (Sonnenbühl-Staader Nord) (233) 22
Martin-Schleyer-Straße (912) 22
Max-Stromeyer-Str. (Ried - Klawitter) (437) 22
Minigolf am Horn (766) 22
Petershauser Str. (204) 22
Salesianerweg (302) 22
Spielplatz Schänzle (122) 22
Untere Laube (Garten - Wallgut) (18) 22
Douglas - Ufer (West) (303) 21
Grillplatz Ulmisried (685) 21
Grünstreifen entlang Flugplatz (811) 21
Hafenmole (7) 21
Hindenburgstr. Gottmannplatz (130) 21
I. Straße (Tägermoos) (675) 21
Kinderhaus am See (290) 21
Spielplatz Erich-Bloch-Weg (467) 21
Villa Rheinburg (688) 21
Webersteig (15) 21
Bewegungsparcours Mannheimerstr. (449) 20
Fritz-Arnold-Str. (Siemens - Rudolf-Diesel) (433) 20
Hegnerstr. (807) 20
Kornblumenweg (901) 20
Otto-Adam-Straße (655) 20
Pumpwerk Wallhausen (769) 20
Rosenau / Eichhornstraße (200) 20
Sonnenbühlstr. (Parkplatz Ost) (339) 20
Spielpatz Schwaketental (574) 20
Spielplatz Cherisystraße (39) 20
Sporthalle Dingelsdorf (631) 20
Urisbergweg 18 (767) 20
Grünzug Zergle (356) 19
Hafenanlage Wallhausen (755) 19
Kath. Kinderhaus St. Gebhard (760) 19
Kl.Gä. Dritte Straße Nord (787) 19
Kl.Gä. Dritte Straße Süd (788) 19
LKW-Parkplatz Grubwiesen (579) 19
M.-Schleyer-Str. / Waldemar-Besson-Str. (797) 19
P R Parkplatz Byk-Gulden-Straße (583) 19
Seeuferweg (Alpstein - Therme) (492) 19
Silvanerweg, Wiese (263) 19
Spielplatz Am Pfeiferhölzle (142) 19
Stromeyersdorf (Zufahrt Naturfreunde) (392) 19
Zollhofstraße (Tägermoos) (677) 19
Alemannenstr. (147) 18
Benediktinerplatz (156) 18
Blumenstraße (906) 18
Claude-Dornier-Str. (605) 18
Friedhof Dingelsdorf (564) 18
Humboldt-Gymnasium (14) 18
Jungerhalde (Nord) (486) 18
Parkplatz Sportplatz Schänzle (649) 18
Schulstr. (Schotten - Braunegger) (54) 18
Schwaketenstraße (Bolzplatz - Bad) (521) 18
Spanierstr. (Sternenplatz - Hallenbad) (126) 18
Torkelbergstraße (897) 18
Villa Kunterbunt (128) 18
Wanderparkplatz Hegenhalde (781) 18
Emmishofer Str. (78) 17
Helene-und-Maria-Schieß-Str. (603) 17
Hockey-Platz (291) 17
Jungerhalde (Süd) (486) 17
Kinderhaus am Salzberg (118) 17
Kreuzlinger Str. (74) 17
Lorettowald Grillplatz (319) 17
Schulstraße (Laube - Schotten) (54) 17
Schwaketengraben (südl. Parkplatz Bad) (411) 17
Spielplatz Ziegelhofweg (625) 17
Tägermoosstr. (94) 17
Zasiustr. (Wallgut - Garten) (127) 17
Don Bosco (815) 16
Fischmarkt (63) 16
Fußweg EDEKA - Weiherhof (710) 16
Kindergarten Wallhausen (634) 16
Litzelstetter Str. (Süd) (350) 16
Maria-Hilf-Kirche (863) 16
Sepp-Biehler-Str. (487) 16
Sonnenbühlstr. (Harder Gasse-Mainaustr.) (272) 16
Spielplatz Gütle (107) 16
Sportplatz Allmannsdorf (292) 16
Anlage Friedrichstraße 21 (455) 15
Austr. (West) (134) 15
Beyerlestr. (176) 15
Fließhornstrasse (802) 15
Gartenstr. Weingarten (861) 15
Grünstreifen Hauptfriedhof (825) 15
Grünzug Zergle West (725) 15
GS-Allmannsdorf (230) 15
Hermann-Hesse-Weg (308) 15
Kath. Kinderhaus St. Verena (633) 15
Maybachstr. (435) 15
Reichenaustr. (Opelstr. - Riedstr.) (385) 15
Sportplatz Hockgraben (266) 15
Theodor-Heuss-Str. (165) 15
Bleicherstraße West (561) 14
Döbelestraße (98) 14
Eisenbahnstr. (Moltkestr.) (166) 14
Fußweg Dreherkurve - Hockgraben (268) 14
Gartenstraße (109) 14
Grünstreifen Holdersteig (795) 14
Kath. Kinderhaus St. Martin (405) 14
Kornblumenweg am Friedhof (899) 14
Kuhhorn Badeplatz (723) 14
Sankt-Stephans-Platz (48) 14
Spielplatz Eichbühl (541) 14
Spielplatz Volapükweg (618) 14
Spielplatz Zergle (641) 14
Versehrtenbad - Horn (315) 14
Werner-Sombart-Str. (337) 14
Am See (910) 13
Farnweg (490) 13
Grünzug Eichbühl (601) 13
Kindergarten Urisberg (538) 13
Montessori-Kindergarten (451) 13
Mühlenweg (Ost) (369) 13
Parkplatz Anglerstuben (800) 13
Polizeidirektion (160) 13
Spielplatz Holdersteig (616) 13
Spielplatz Pappelweg (622) 13
Spielplatz Schottenstraße (53) 13
Sporthalle Petershausen (658) 13
Stromeyersdorf, Uferweg Seerhein (502) 13
Theodor-Heuss-Realschule (218) 13
Von-Emmich-Str. (206) 13
Wallgutstr. (Schotten - Braunegger) (108) 13
Zufahrt Schloß Seeheim (856) 13
Alemannenplatz (780) 12
Am Bismarckturm Wiese (715) 12
Am Tannenhof (594) 12
An der Linde (178) 12
Bubenbad Dingelsdorf (754) 12
Bücklestr. (135) 12
Conrad-Gröber-Str. (207) 12
Friedrichstr. / Jacob-Burckhard-Str. (257) 12
Helene-Merk-Straße (742) 12
Kuhhorn Restaurant (751) 12
Mannheimer Str. (Nord) (497) 12
Moltkestr. (216) 12
Oberlohn-Nord (Zufahrt Ost) (398) 12
Rheinsteig (1) 12
Ruländersteig (298) 12
Sankt-Gebhard-Platz (209) 12
Schiffstr. (Fähre) (277) 12
Tannenhof, Freiflächen (595) 12
Wald-Kiga Urisberg (102) 12
Anlage Sankt-Gebhard-Platz (215) 11
Bahnhof Petershausen (791) 11
Bismarcksteig (167) 11
Brucknerstr. (202) 11
Dettinger Straße (793) 11
Eichhornstr. / Mainaustr. (186) 11
Felix-Wanke-Straße Parkplätze (713) 11
Frieda-Sigrist-Weg (24) 11
Gabelsbergerstr. (Wiese) (441) 11
Grenze entlang Kleingartenanlage (253) 11
Grillplatz Brandberg (425) 11
Kinderhaus Paradies (105) 11
Kindertagesstätte Weiherhof (133) 11
Leipziger Str. 10 - 16 (394) 11
Lutherkirche (532) 11
Oberlohn-Nord (Radweg Bahnlinie) (399) 11
Spielplatz Peter Rosegger Weg (269) 11
Spielplatz Pfalzgarten (34) 11
Sportplatz Max-Stromeyer-Str. (530) 11
Velo-Club (708) 11
Alte Litzelstetter Str. (Süd) (351) 10
Bahnhofsplatz (67) 10
Bleicherstraße Wiese (561) 10
Bolzplatz Oberlohn (642) 10
Cherisy Quartiersplatz (509) 10
Fischmarkt (VGF) (41) 10
Gehölze entlang Skateanlage (878) 10
Großherzog-Friedrich-Str. (777) 10
Grünfläche Wertstoffhof (739) 10
Hardtstr. (Reute - Bahn) (373) 10
Hofhalde (40) 10
Jungerhalde (Ost) (486) 10
Karl-Großhans-Weg (158) 10
Kath. Kinderhaus St. Suso (763) 10
Kleingartenanlage Haidelmoos Imker (598) 10
Lilienthalstr. (562) 10
Neuwerk Wiese (732) 10
Parkplatz Schwaketenbad (410) 10
Rastplatz Großherzog-Friedrich-Str. (709) 10
Seeuferweg (Mozartstr.) (493) 10
Seewerk 2 (814) 10
Sonnenbühlstr. (Parkplatz West) (342) 10
Spielplatz Brandenburger Straße (371) 10
Spielplatz Herosestraße (409) 10
Spielplatz Sierenmoos (177) 10
Sternenplatz (162) 10
Thomas-Sättele-Str. (517) 10
Tobel Wallhausen (798) 10
Wallgutstr. (Laube - Schottenstr.) (17) 10
William-Graf-PLatz (322) 10
Zogelmannstraße (84) 10
Anlage Theodor-Heuss-Str. (164) 9
Bahnhof Fürstenberg (West) (643) 9
Bodanplatz (86) 9
Brauneggerstr. (Wallgut - Garten) (110) 9
Bushaltestelle Salzberg (682) 9
Familienzentrum Stockacher (249) 9
Friedrichstraße 19 (693) 9
Gehölze entlang Wuhrweg (876) 9
GHS-Gebhard (571) 9
Grünzug Zergle Ost (743) 9
Holländerstraße (907) 9
Im Baumgarten (908) 9
In den Dorfäckern (911) 9
Kath. Kinderhaus Hl. Dreifaltigkeit (70) 9
Kelhofstr. (806) 9
Konstanzer Weg (896) 9
Mainaustr. (Staader Str. > Schiffstr.) (345) 9
Mannheimer Str. (Süd) (497) 9
Parkplatz Sportplatz Litzelstetten (913) 9
Paul-und-Gretel-Dietrich-Str. (72) 9
Schwedenschanze (76) 9
Spanierstr. (Hallenbad - Petershauser) (126) 9
Steine im Fluss (539) 9
Villa Scholz, Wiese (547) 9
Zasiustr. (Garten - Rheingut) (127) 9
Am Homberg Kiga 2 (115) 8
Am Rheinufer (602) 8
Anlage Reutestr. (Ost) (380) 8
Brachsengang (324) 8
Brandenburger Str. (Wiese bei Zergleweg) (372) 8
De-Trey-Straße (522) 8
Eichbühl, Fußweg (577) 8
Fürstenbergstraße / Oberlohnstraße (537) 8
Hans-Sauerbruch-Straße (607) 8
Jacob-Burckhardt-Str. (Treppen) (338) 8
Kath. Kinderhaus Edith Stein (77) 8
Kath. Kinderhaus St. Gallus (141) 8
Kl.Gä. beim Zollhof (785) 8
Macairestr. (439) 8
Neubaugebiet Linzgaublick (891) 8
Pestalozzistr. (151) 8
Radbrücke Neuwerk (731) 8
Schulthaißstraße (Feuerwehr) (116) 8
Seeuferweg Holdersteig (794) 8
Zollhofweg (Tägermoos) (676) 8
Allensbacherstr. Radweg (877) 7
Betriebsgelände TBK (737) 7
Bleicherstraße Ost (561) 7
Brühlstraße (869) 7
Friedhof Litzelstetten, alt (566) 7
Gaspumpstation (736) 7
Graben Claude-Dornier-Str. (397) 7
Grillplatz Purren (470) 7
Grillplatz Taborturm (527) 7
Grünzug Öhmdwiesen (Mitte Nord) (604) 7
GS-Wallgut (570) 7
Johann-Sebastian-Bach-Str. (481) 7
Kindlebildstr. Wiesen (Ost) (366) 7
Konrad-Zuse-Str. (552) 7
Magdeburger Str. (448) 7
Spielplatz Brandesstraße (300) 7
Spielplatz Katzgasse (47) 7
Spielplatz Kreuzlinger Straße (75) 7
Spielplatz Sankt Stephans Platz (50) 7
Spielplatz Sonnebühl Ost (340) 7
Suso-Sportplatz (190) 7
Taborweg (136) 7
Untere Laube 24 (VGL) (51) 7
Weberinnenstr. (Turm - Grünzug) (559) 7
Adolf-Schmid-Straße (741) 6
Anlage Hans-Sauerbruch-Straße (608) 6
Austr. (Ost) (134) 6
Bewegungsparcour Wollmatinger Halle (829) 6
Bodenseeforum Freifläche Ost (779) 6
Bolzplatz Josef-Belli-Weg (575) 6
Brückenplatz Süd (735) 6
Feuerwehrhaus Wollmatingen (687) 6
Feursteinstr. Ost (645) 6
Grünzug Öhmdwiesen (Süd) (604) 6
GS-Litzelstetten (620) 6
Hafenstraße Buszufahrt Schweiz (782) 6
Heroséstr. (402) 6
Hüetlinstr. (85) 6
Hussenstr. (90) 6
Karl-Einhart-Straße (683) 6
Kath. Kindergarten St. Georg (232) 6
Kath. Kinderhaus Dorothea v. Flüe (773) 6
Kath. Kinderhaus St. Nikolaus (765) 6
Kinderhaus St. Stephan (761) 6
Kulturzentrum (Hof) (46) 6
Leinerstr. (475) 6
Löhrystr. (224) 6
Luisenstraße (636) 6
Nestgasse (Feuerwehr) (279) 6
Otto-Raggenbass-Str. (73) 6
Radolfzeller Str. / Riedstr. (651) 6
Robert-Bosch-Str. (Carl-Benz - Fritz-Arnold) (432) 6
Schürmann-Hoster-Weg (Parkplatz) (510) 6
Seerückenstr. (599) 6
Silvanerweg (262) 6
Sonnenbühlstr. (Friedrich - Zur-Friedrichshöhe) (2 6
Spielplatz Büscheläcker (479) 6
Spielplatz Jägerkaserne (468) 6
Spielplatz Robert-Koch-Str. (336) 6
Turnierstr. (208) 6
Wallgutstr. (Braunegger - Zasius) (108) 6
Wertstoffhof Dettingen (758) 6
Zollernstraße (45) 6
Am Pfeiferhölzle / Moorweg (250) 5
Am Pfeiferhölzle, Buswendeschleife (226) 5
Bodenseeforum (799) 5
Bruderturmgasse / Bodanstraße (87) 5
Egger Dorfbach (734) 5
Egger Str. (Nord) (247) 5
Egger Wiese (520) 5
Erich-Bloch-Weg, Wiese (508) 5
Fußweg Goebelbeckerstr. (546) 5
Grenzbachstraße (Döbeli) (681) 5
Hockgraben neben Sportplatz (125) 5
Hohenhausgasse (61) 5
Interessengem. der Kleingärtner Stromeyersdorf (72 5
Jungerhalde RÜB (495) 5
Mainaustr. - Eichhornstr. (163) 5
Martin-Venedey-Straße (161) 5
Näherinnenstr. (560) 5
Neuhauser Str. (205) 5
Schmidtenbühlstr. (887) 5
Siemensstr. (391) 5
Sigismundstraße (639) 5
Spielplatz Bachbohlweg (354) 5
Spielplatz Jungerhalde (466) 5
Spielplatz Mozartstraße (199) 5
Spielplatz Urisberg (242) 5
Sporthalle Litzelstetten (700) 5
Talgartenstr. (95) 5
Zum Gebhardsbrunnen (195) 5
Zum schönen Kreuz (301) 5
Adalbert-Schnatterer-Str. (545) 4
An der Steig (Wiese) (276) 4
Aussichtspunkt Steig (884) 4
Bettengasse (496) 4
Clara-Schumann-Str. (482) 4
Dorffriedhofweg (900) 4
Färberstr. (Lohnerhof - Stromeyersdorf) (555) 4
Färberstr. (Lohnerhof - Turm) (555) 4
Feuerwehrhaus Dettingen (698) 4
Fischerstr. (329) 4
Friedrichstr. / Raitebergweg (254) 4
Fürstenbergstr. / Buhlenweg (652) 4
Fußweg Winterhalde (259) 4
Gabelsbergerstr. (Parkplatz Ost) (441) 4
Gabelsbergerstr. (Parkplatz West) (441) 4
Gebhardsbrunnen (Mozartstr.) (197) 4
Gehölze entlang Zellerstraße (879) 4
Giratsmoosbach (Mitte/Süd)) (362) 4
Giratsmoosbach (Süd) (362) 4
Grillplatz Hockgraben (752) 4
Grünfläche Kuhmoosweg (822) 4
Grünzug Öhmdwiesen (Mitte) (604) 4
Gütlestr. (106) 4
Haidelmoosweg (404) 4
Hardergasse (Containerstandort) (241) 4
Hieronymusgasse (91) 4
Horchstr. (436) 4
Kath. Kindergarten Bruder Klaus (759) 4
Kath. Münsterkindergarten (762) 4
Käthe-Kollwitz-Weg (228) 4
Kindergarten Litzelstetten (632) 4
Konzilstr. (Bärengraben) (8) 4
Mainaustr. Egg (Süd) (346) 4
Marienhaus (813) 4
Markgrafenstr. (Petershauser - Gebhard) (146) 4
Münsterplatz (27) 4
Parkstreifen Kuhmoosweg (864) 4
Peter-Thumb-Str.3 (816) 4
Radolfzeller Str. / Kindlebilstr. (357) 4
Rheintorturm (2) 4
Sankt-Stephans-Schule (49) 4
Seilerstr. (558) 4
Siedlerweg (255) 4
Sonnenbühlstr. / Hardergasse (271) 4
Spielplatz GS-Dingelsdorf (613) 4
Spielplatz Hoerlepark (285) 4
Spielplatz Sankt-Katharinen-Weg (617) 4
Spielplatz Schmidtenbühl (753) 4
Stadelhofgasse (83) 4
Verkehrsinsel Langenrainer Str. (880) 4
Wallgutstr. (Zasius - Kappelersgutweg (222) 4
Am Homberg Kiga 1 (112) 3
Am Seerhein (654) 3
Aussichtspunkt Zum Purren (902) 3
Bolzplatz Sportzentrum (730) 3
Chr.-D.-Schenck-Str. (Gehölzfläche) (328) 3
Durchgang Rebweg-Dorfplatz (875) 3
Engelsteig (Lindenplatz) (358) 3
Graben Tägermoosstr. - Eisdöbele (679) 3
Grünzug Büscheläcker (480) 3
Grünzug Öhmdwiesen (Mitte Süd) (604) 3
H.-V.-Vicari-Str. / Turbenried (775) 3
Hardstr. (Containerstandort) (378) 3
Haydnstr. / Beethovenstr. (187) 3
Hussenpassage (92) 3
Jakobstr. (Vicari - Lorettosteig) (323) 3
Kamorstr. (Eichhorn - Neuhauser) (191) 3
Kapellenweg (280) 3
Kita Gustav-Schwab (745) 3
Kita Tabalu (790) 3
Konzilstr. (Süd) (8) 3
Mainaustr. / Sonnenbühlstr. (273) 3
Mainaustr. Egg (Nord) (346) 3
Max-Josef-Metzger-Weg (Parkplatz) (511) 3
Max-Stromeyer-Str. (Oberlohn - Felix-Wankel) (437) 3
Milanweg (909) 3
Mühlengraben (Eichbühlstr. - Bahnlinie) (331) 3
Peter-Rosegger-Weg (267) 3
Raitenaugasse (119) 3
Rathaus Dettingen (694) 3
Rathaus Dingelsdorf (696) 3
Rathaus Litzelstetten (699) 3
Rathaushof (89) 3
Seitenstreifen Käthe-Kollwitz-Weg (824) 3
Spechtweg (485) 3
Spielplatz Höhenweg (297) 3
Spielplatz Sankt Gebhard Platz (464) 3
Verkehrsinsel Linzgaublick (890) 3
Weg entlang Kleingärten Grasweiher (868) 3
Wolfgang-Spengler-Straße (748) 3
Wollmatinger Str. (138) 3
Wollmatinger Str. / Zähringerplatz (139) 3
Zimmererweg (478) 3
Zufahrt Strandbad (895) 3
Zum Kirchenwald (871) 3
Alau-Graben (Eichbühlweg - Mühlenbach) (367) 2
Alpsteinweg (West) (488) 2
Am Briel / Schneckenburgstr. (140) 2
Auf dem Salzberg (299) 2
Bachgasse (484) 2
Badgasse (80) 2
Bahnhofunterführung (West) (6) 2
Bildwiese (506) 2
Blarerstr. (Döbelestr. - Grenzbach) (97) 2
Brauneggerstr. (Garten - Rheingut) (110) 2
Brücke L 219 / Flurweg (245) 2
Brugierstr. (534) 2
Buchnerstr. (180) 2
Buhlenweg (421) 2
Bushaltestelle Pappelweg (870) 2
Entsorgungsstation Litzelstetter Str. (549) 2
Erich-Bloch-Weg (Parkplatz) (514) 2
Ernst-Sachs-Str. (390) 2
Friedhof Litzelstetten; alt (566) 2
Friedhofweg (Wollmatingen) (418) 2
Fußweg Schwaketenstr. - Urisbergweg Nord (412) 2
Gehölzfläche 6 Rheinweg (848) 2
Goethestr. (543) 2
Griesseggstr. (Brunnen) (213) 2
GS-Dingelsdorf (697) 2
Hardtstr. (Karlsruher - Breslauer) (373) 2
Heinrich-Heine-Straße (747) 2
Hoheneggstr. Allmannsdorf (483) 2
Im Apfelgarten (898) 2
Jacob-Burckhardt-Str. (Parkplatz Mitte) (338) 2
Jacob-Burckhardt-Str. (Parkplatz Ost) (338) 2
Jacob-Burckhardt-Str. / Sonnenbühlstr. (335) 2
Jugendtreff Berchen (591) 2
Klostergasse (10) 2
Kolpinghaus (830) 2
Komturweg (905) 2
Leipziger Str. (379) 2
Mainaustr. - Alte Egger Str., Wiese (235) 2
Mainaustr. / Sepp-Biehler-Str. (229) 2
Mainaustraße / Allmannshöhe (214) 2
Mangoldstr. (640) 2
Moosbruggerstr. (79) 2
Münzgasse (60) 2
Neugasse (88) 2
Ortseinfahrt Wallhausen (888) 2
Parkplatz Bachbohlweg (548) 2
Pfalzgarten (30) 2
Radolfzeller Str. (Buswendeschleife) (657) 2
Radolfzeller Str.19 (52) 2
Rosgartenmuseum (69) 2
Schnetztor (93) 2
Seezugang Yachtclub (914) 2
Spielplatz Friedrich Hug Straße (181) 2
Spielplatz Mangoldstraße (465) 2
Spielplatz Nestgasse (278) 2
Spielplatz Tannenhof (588) 2
Spielplatz Werner Sombart Straße (592) 2
Staader Str. (343) 2
Stephansplatz 39 a (831) 2
Stifterstr. (442) 2
Susosteig - Inselgraben (5) 2
Tannenhof, Maria-Hilf-Kirche (596) 2
Theatergasse (23) 2
Verwahrgelände Bürgeramt (740) 2
Weberinnenstr. (Lohnerhof - Turm) (559) 2
Weiherhof Bahntrasse (143) 2
Zufahrt Schwaketenbad (712) 2
Alpsteinweg (Ost) (488) 1
Alte Schiffstr. (586) 1
Am Rinzler (903) 1
An der Steig (Böschung) (276) 1
Bahnhofstraße (589) 1
Bahnhofunterführung (Ost) (6) 1
Bolzplatz Hockgraben (265) 1
Bolzplatz Kuhmoos (251) 1
Bolzplatz Weiherhof (590) 1
Brandenburger Str. (Baum bei Fußweg) (372) 1
Brückengasse (26) 1
Carl-Benz-Str. (387) 1
Chr.-D.-Schenck-Str. (Eiche) (328) 1
Egger Str. (Süd) (247) 1
Eichbühlstraße (717) 1
Engelsteig 6 (719) 1
Falkengasse (82) 1
Feuerwehrhaus Dingelsdorf (695) 1
Fischenzstr. 7 (524) 1
Gehölzfläche 1 Rheinweg (843) 1
Gehölzfläche 10 Tägermoos ALG (842) 1
Gehölzfläche 2 Tägermoos ALG (833) 1
Gehölzriegel entlang Kakobstr. (828) 1
Gerichtsgasse (733) 1
Gnadenseeweg (711) 1
Grünfläche Mainaustr. (Allmannsdorf) (231) 1
Grünfläche südlich Hauptfriedhof (821) 1
Grünstreifen neben Campingplatz Fohrenbühl (827) 1
Hafenstraße (West) (663) 1
Harder Gasse (Böschung) (258) 1
Häspel (400) 1
Höhenweg-West (42) 1
Holzgasse (Ost) (246) 1
In der Gebhardsösch (796) 1
Inselgasse (22) 1
J.-A.-Feuchtmayer-Str. (327) 1
Jacob-Burckhardt-Str. (Parkplatz West) (338) 1
Jakob-Stadler-Platz (556) 1
Kappelersgutweg (223) 1
Kennerweg (349) 1
Kennerweg 13 (722) 1
Kindergarten Dreifaltigkeit (70) 1
Kindergarten Sankt-Georg (232) 1
Kirche Allmannsdorf (544) 1
Konrad-Witz-Straße (182) 1
Konzilstr. (Mitte) (8) 1
Kreuzung Allensbacher/Konstanzer Str. (873) 1
M.-Schleyer-Str. / Großherzog-Friedrich-Str. (904) 1
Mainaustr. -Zeppelinstr. (818) 1
Maria-Ellenrieder-Str. (221) 1
Marktstätte (64) 1
Möwenring (653) 1
Mozartstr. (196) 1
Obermarkt (59) 1
Oberstegle (281) 1
Parkplatz Friedhof Dettingen (858) 1
Pumpstation Fohrenbühlweg 5 (332) 1
Radolfzeller-Str. 48 (721) 1
Radolfzeller-Str. 56 (720) 1
Radweg Kapitän-Romer-Str. vor Haus 49 (881) 1
Radweg Wollmatingen-Dettingen (866) 1
Reichenaustr./Rudolf-Diesel-Str. (438) 1
Reiterhof Schwab, Wiese (718) 1
Rheingasse (472) 1
Riedstraße (Ulme) (375) 1
Robert-Bosch-Str. (Fritz-Arnold - NSG) (432) 1
Robert-Koch-Str. (334) 1
RÜB Eichbühl (578) 1
Rudolf-Diesel-Straße (714) 1
Schiffstr. (Böschung) (277) 1
Schleyerweg (729) 1
Schreibergasse (12) 1
Senefelderweg (440) 1
Skateanlage Litzelstetten (619) 1
Sonnentauweg (429) 1
Spielplatz Bildwiese (355) 1
Spielplatz Luisenstraße (456) 1
Sternenplatz Bahneigentum (184) 1
Urisbergweg (420) 1
Wald am Tannenhof (859) 1
Winkelstraße (783) 1
Wittmoosstr. Zufahrt Ziegelhof (892) 1
Zum Hinterhag (494) 1
Zum schönen Kreuz 2 (823) 1
Zur Therme (306) 1
Tabelle: Verteilung der Standorte der Bäume der Stadt Konstanz, sortiert nach Anzahl der Bäume des Standorts.
bb <- c(9.08, 47.65, 9.22, 47.75)
map <- get_stamenmap(bb, maptype="terrain", zoom=14)
ggmap(map) +
    geom_point(data=kataster %>% filter(!is.na(y) ), aes(x=x, y=y), size=0.25, alpha=0.25) +
    labs(title='Bäume der Stadt Konstanz (Standorte)') +
    theme_void() +
    theme(legend.position="bottom") 

Karte: Verteilung der Bäume der Stadt Konstanz.

O2 Produktion

to_centimeter <- function(inch) return(inch*2.54)
# O2 Produktion in Kilogram pro Jahr.
dfs = list(
    # Novak (2007)
    kataster %>% 
        filter(stammumfang/pi <= to_centimeter(3)) %>%
        mutate(o2_produktion = 2.9),

    #
    kataster %>% 
        filter((stammumfang/pi > to_centimeter(3)) & (stammumfang/pi < to_centimeter(9))) %>%
        mutate(o2_produktion = (2.9 + 22.6)/2),

    # Novak (2007)
    kataster %>% 
        filter((stammumfang/pi >= to_centimeter(9)) & (stammumfang/pi <= to_centimeter(12))) %>%
        mutate(o2_produktion = 22.6),
    
    #
    kataster %>% 
        filter((stammumfang/pi > to_centimeter(12)) & (stammumfang/pi < to_centimeter(18))) %>%
        mutate(o2_produktion = (22.6 + 45.6)/2),
    
    # Novak (2007)
    kataster %>% 
        filter((stammumfang/pi >= to_centimeter(18)) & (stammumfang/pi <= to_centimeter(21) )) %>%
        mutate(o2_produktion = 45.6),

    # 
    kataster %>% 
        filter((stammumfang/pi > to_centimeter(21)) &  (stammumfang/pi < to_centimeter(27))) %>%
        mutate(o2_produktion = (45.6 + 91.1)/2),
    
    # Novak (2007)
    kataster %>% 
        filter((stammumfang/pi >= to_centimeter(27)) & (stammumfang/pi <= to_centimeter(30) )) %>%
        mutate(o2_produktion = 91.1),
    
    # Novak (2007)
    kataster %>% filter(stammumfang/pi > to_centimeter(30)) %>%
        mutate(o2_produktion = 110.3)
)
kataster <- do.call('rbind', dfs)

O2-Produktion der Bäume der Stadt Konstanz in Tonnen pro Jahr

o2_produktion = sum(kataster$o2_produktion)/1000
o2_produktion
## [1] 562.9328
bb <- c(9.08, 47.65, 9.22, 47.75)
map <- get_stamenmap(bb, maptype="terrain", zoom=14)
data <- kataster %>% 
    filter(!is.na(o2_produktion)) %>%
    filter(x >= bb[1] & x <= bb[3]) %>%
    filter(y >= bb[2] & y <= bb[4]) %>%
    arrange(o2_produktion)
size <- data$o2_produktion / 75
ggmap(map) +
    geom_point(data=data, aes(x=x, y=y, color=o2_produktion), size=size, alpha=0.25) +
    labs(title=expression('Bäume der Stadt Konstanz ('*O[2]*'-Produktion)')) +
    theme_void() +
    theme(legend.position="bottom") +
    scale_color_continuous(name=expression('Kilogramm '*O[2]*' pro Jahr'), low = "black", high = "green")

CO2 Aufnahme

to_kilogram <- function(lbs) return(lbs*0.453592)
# CO2 Aufnahme in Kilogram pro Jahr.
dfs = list(
    # Novak (2007a)
    kataster %>% 
        filter(stammumfang/pi <= to_centimeter(3)) %>%
        mutate(co2_aufnahme = to_kilogram(0.201)),

    # Novak (2007a)
    kataster %>% 
        filter((stammumfang/pi > to_centimeter(3)) & (stammumfang/pi <= to_centimeter(6))) %>%
        mutate(co2_aufnahme = to_kilogram(5.7)),

    # Novak (2007a)
    kataster %>% 
        filter((stammumfang/pi > to_centimeter(6)) & (stammumfang/pi <= to_centimeter(9))) %>%
        mutate(co2_aufnahme = to_kilogram(10.3)),
    
    # Novak (2007a)
    kataster %>% 
        filter((stammumfang/pi > to_centimeter(9)) & (stammumfang/pi <= to_centimeter(12))) %>%
        mutate(co2_aufnahme = to_kilogram(16.8)),
    
    # Novak (2007a)
    kataster %>% 
        filter((stammumfang/pi > to_centimeter(12)) & (stammumfang/pi <= to_centimeter(15) )) %>%
        mutate(co2_aufnahme = to_kilogram(21.2)),

    # Novak (2007a)
    kataster %>% 
        filter((stammumfang/pi > to_centimeter(15)) &  (stammumfang/pi <= to_centimeter(18))) %>%
        mutate(co2_aufnahme = to_kilogram(31.4)),
    
    # Novak (2007a)
    kataster %>% 
        filter((stammumfang/pi > to_centimeter(18)) & (stammumfang/pi <= to_centimeter(21) )) %>%
        mutate(co2_aufnahme = 42.7),

    # Novak (2007a)
    kataster %>% 
        filter((stammumfang/pi > to_centimeter(21)) & (stammumfang/pi <= to_centimeter(24) )) %>%
        mutate(co2_aufnahme = 45.6),

    # Novak (2007a)
    kataster %>% 
        filter((stammumfang/pi > to_centimeter(24)) & (stammumfang/pi <= to_centimeter(27) )) %>%
        mutate(co2_aufnahme = 64.1),

    # Novak (2007a)
    kataster %>% 
        filter((stammumfang/pi > to_centimeter(27)) & (stammumfang/pi <= to_centimeter(30) )) %>%
        mutate(co2_aufnahme = 65.3),
    
    # Novak (2007a)
    kataster %>% filter(stammumfang/pi > to_centimeter(30)) %>%
        mutate(co2_aufnahme = 96.9)
)
kataster <- do.call('rbind', dfs)

CO2-Aufnahme der Bäume der Stadt Konstanz in Tonnen pro Jahr

co2_aufnahme = sum(kataster$co2_aufnahme)/1000
co2_aufnahme
## [1] 360.4908
bb <- c(9.08, 47.65, 9.22, 47.75)
map <- get_stamenmap(bb, maptype="terrain", zoom=14)
data <- kataster %>% 
    filter(!is.na(co2_aufnahme)) %>%
    filter(x >= bb[1] & x <= bb[3]) %>%
    filter(y >= bb[2] & y <= bb[4]) %>%
    arrange(co2_aufnahme)
size <- data$co2_aufnahme / 75
ggmap(map) +
    geom_point(data=data, aes(x=x, y=y, color=co2_aufnahme), size=size, alpha=0.25) +
    labs(title=expression('Bäume in Konstanz ('*CO[2]*' Aufnahme)')) +
    theme_void() +
    theme(legend.position="bottom") +
    scale_color_continuous(name=expression('Kilogramm '*CO[2]*' pro Jahr'), low = "black", high = "green")

Konstanzer

vororte <- c('Egg', 'Dettingen', 'Dingelsdorf', 'Litzelstetten', 'Wallhausen')
konstanzer <- read.csv("data/Einwohner_nach_Stadtviertel 2010-2019.csv", sep=";", na.strings=c('','*)')) %>%

    # Fehlende Daten werden herausgefiltert.
    filter(complete.cases(.)) %>%

    # Es lebe ASCII, UTF-8 und andere Unwägbarkeiten.  
    mutate(STADTTEIL = fct_collapse(STADTTEIL, 'Fürstenberg' = c('Fuerstenberg'))) %>%
    mutate(STADTTEIL = fct_collapse(STADTTEIL, 'Königsbau' = c('Koenigsbau'))) %>%
  
    # Einige Variablenamen etwas leiser stellen.
    rename(Stadtteil = STADTTEIL) %>%
    rename(Stadtviertel = STADTVIERTEL) %>%

    # Hurrga! Pivot Zeilen rausschmeißen.
    filter(nchar(Stadtviertel) != 3) %>%
    filter(Stadtteil != 'Stadt Konstanz') %>%
    
    # Zusätzliches Merkmal: (Pseudo-) Verwaltungseinheit.
    mutate(Verwaltungseinheit = as.factor(ifelse(Stadtteil %in% vororte, 'Vorort', 'Stadt'))) %>%
    
    # Besserere Variablename (IMHO) in diesem Kontext.
    mutate(Stichtag = as.Date(Stand_Einwohner, "%d.%m.%y")) %>%

    # Unbenötigte Einwohnerdaten entfernen.
    select(-EINW_HW_GESAMT, -EINW_HW_FRAUEN, -EINW_HW_DEUTSCH, -EINW_HW_AUSLAENDER) %>%
    
    # Altersklassen bilden.
    gather(key="Altersklasse", value="Anzahl", starts_with("EINW_HW")) %>%
    mutate(Altersklasse = factor(Altersklasse)) %>%
    mutate(Altersklasse = fct_recode(Altersklasse, 'unter 18'='EINW_HW_unter18')) %>%
    mutate(Altersklasse = fct_recode(Altersklasse, '18 bis unter 30'='EINW_HW_18_bis_unter_30')) %>%
    mutate(Altersklasse = fct_recode(Altersklasse, '30 bis unter 40'='EINW_HW_30_bis_unter_40')) %>%
    mutate(Altersklasse = fct_recode(Altersklasse, '40 bis unter 50'='EINW_HW_40_bis_unter_50')) %>%
    mutate(Altersklasse = fct_recode(Altersklasse, '50 bis unter 60'='EINW_HW_50_bis_unter_60')) %>%
    mutate(Altersklasse = fct_recode(Altersklasse, 'über 60'='EINW_HW_60_und_aelter')) %>%

    mutate(Anzahl = as.numeric(Anzahl)) %>%
    filter(complete.cases(.)) %>%
    
    group_by(Stadtteil, Verwaltungseinheit, Stichtag, Altersklasse) %>%
    summarize(Anzahl = sum(Anzahl, na.rm=TRUE), .groups='drop')

# Anordnung der Alterklassenbezeichnungen anordnen.
konstanzer$Altersklasse = factor(konstanzer$Altersklasse,levels(konstanzer$Altersklasse)[c(6,1:5)])
konstanzer %>% 
    filter(Stichtag==as.Date('31.12.2019','%d.%m.%Y') | Stichtag==as.Date('31.12.2010','%d.%m.%Y')) %>%
    filter(Verwaltungseinheit=='Stadt') %>%
    mutate(Stichtag = as.factor(Stichtag)) %>%
    ggplot() + 
        geom_bar(aes(x=Altersklasse, y=Anzahl, fill=Stichtag), stat = "identity", position='dodge') + 
        facet_wrap(Stadtteil~., ncol=3) +
        coord_flip() + 
        labs(x='Altersklasse', y='Anzahl Einwohner', title='Einwohner nach Altersklasse (Konstanz Stadt)') +
        theme_bw() +
        theme(legend.position="bottom")

konstanzer %>% 
    filter(Stichtag==as.Date('31.12.2019','%d.%m.%Y') | Stichtag==as.Date('31.12.2010','%d.%m.%Y')) %>%
    filter(Verwaltungseinheit=='Vorort') %>%
    mutate(Stichtag = as.factor(Stichtag)) %>%
    ggplot() + 
        geom_bar(aes(x=Altersklasse, y=Anzahl, fill=Stichtag), stat = "identity", position='dodge') + 
        facet_wrap(Stadtteil~., ncol=3) +
        coord_flip() + 
        labs(x='Altersklasse', y='Anzahl Einwohner', title='Einwohner nach Altersklasse (Konstanz Vororte)') +
        theme_bw() +
        theme(legend.position="bottom")

Erwachsene Konstanzer im Jahr 2019

erwachsene <- konstanzer %>%
    filter(Stichtag == as.Date('31.12.2019','%d.%m.%Y')) %>%
    filter(Altersklasse != 'unter 18')
sum(erwachsene$Anzahl)
## [1] 72548

O2 Verbrauch

# O2 Verbrauch in Kilogram pro Jahr.
# Perry 2003
erwachsene$o2_verbrauch = erwachsene$Anzahl * 0.84 * 365

O2-Verbrauch der erwachsenen Konstanzer in Tonnen pro Jahr

# O2 Verbrauch in Kilogram pro Jahr.
o2_verbrauch = sum(erwachsene$o2_verbrauch)/1000
o2_verbrauch
## [1] 22243.22

CO2 Produktion

# CO2 Produktion in Kilogram pro Jahr.
# Perry 2003
erwachsene$co2_produktion = erwachsene$Anzahl * 1.00 * 365

CO2-Produktion der erwachsenen Konstanzer in Tonnen pro Jahr

co2_produktion = sum(erwachsene$co2_produktion)/1000 
co2_produktion
## [1] 26480.02

Bilanz

Elementare O2 Bilanz in Tonnen pro Jahr

o2_bilanz <- o2_produktion - o2_verbrauch
o2_bilanz
## [1] -21680.28

Elementare CO2 Bilanz in Tonnen pro Jahr

co2_bilanz = co2_produktion - co2_aufnahme
co2_bilanz
## [1] 26119.53

Zusammenfassung

Die O2 Bilanz ist negativ, dh es wird mehr Sauerstoff von den Konstanzer Einwohnern verbraucht als von den Bäumen der Stadt Konstanz hergestellt wird.

Die CO2 Bilanz ist positiv, dh es wird mehr Kohlendioxid von den Konstanzer Einwohnern erzeugt als von den Bäumen der Stadt Konstanz aufgenommen wird wird.

Shout-Out

Ermöglicht wurde das ganze im Rahmen HACK AND HARVEST Hackathon 2021 mit:

  1. Offene Daten (Baumkataster der Stadt Konstanz, Konstanzer Einwohner nach Stadvierteln 2010-2019)
  2. Freier Zugriff auf Forschungsergebnisse (siehe Literatur)
  3. Frei erhältliche Software (R, RStudio, tidyverse, …)

Literatur

Nowak, David J.; Hoehn, Robert E. III, Crane, Daniel E.; Stevens, Jack C.; Walton, Jeffrey T. 2007a. Assessing urban forest effects and values, New York City’s urban forest. Resour. Bull. NRS-9. Newtown Square, PA: U.S. Department of Agriculture, Forest Service, Northern Research Station. 22 p. Heruntergeladen am 16.04.2021 von hier

Nowak, David J.; Crane, Daniel E.; 2007b; Oxygen production by urban trees in the United States; Arboriculture & Urban Forestry 33(3); Heruntergeladen am 16.04.2021 von hier

Perry, J.; LeVan, M.D.; 2003; Air Purification in Closed Environments: Overview of Spacecraft Systems. U.S. Army Natrick Soldier Center.; Heruntergeladen am 17.04.2021 von hier